Non-transferable anonymous digital receipts

ABSTRACT

The present invention relates electronic receipts. There is provided a method for generating an electronic receipt in a communication system providing a public key infrastructure, the method comprising the steps of receiving by a second party a request message from a first party, the request message comprising a transaction request and a first public key based on a secret owned by the first party and wherein the secret is associated with at least the secret of a further public key of the first party, electronically signing at least part of the request message with a second public key assigned to the second party to issue the electronic receipt, and providing the electronic receipt to the first party. Further, there is provided a method for verifying the ownership of an electronic receipt in a communication system providing a public key infrastructure, the verification arising out of a series of messages being sent and received between a first party and a verifying party, the method comprising the steps of receiving a proof message from the first party, the proof message being derived from at least a first public key based on a secret owned by the first party and wherein the secret is associated with at least the secret of a further public key of the first party and an electronic receipt that has been issued by electronically signing a request message with a second public key, determining whether or not the proof message was derived from the second public key.

CROSS REFERENCE AND PRIORITY

This application is a divisional of U.S. application Ser. No. 10/475,682, filed Apr. 22, 2004, which is an application filed in the National Stage entry of PCT/IB02/00907 filed Mar. 25, 2002, which was filed under 35 USC 371, is cross-referenced with, and claims priority from, International Patent Application PCT/IB02/00907 filed on 25 Mar. 2002, and published in English with Publication No. WO02/087148 on 31 Oct. 2002 under PCT article 21(2), which in turn claims priority of 01810395.2 filed on 23 Apr. 2001.

TECHNICAL FIELD

The present invention relates to the field of computing, it specifically concerns a method and a technical implementation for secure data exchange over a computer network. More particularly, the present invention relates to a method for securely proving ownership of anonymous electronic receipts and credentials while the owner is discouraged to give away his receipts or credentials.

BACKGROUND

Since the mid 1990s one of the most rapidly growing retail sectors is referred to as electronic commerce. Electronic commerce involves the use of the Internet and proprietary networks to facilitate business-to-business, consumer, and auction sales of everything imaginable, from computers and electronics to books, recordings, automobiles, and real estate. In such an environment consumer privacy is becoming a major concern.

However, the mere fact that electronic commerce is conducted over an existing open network infrastructure such as the Internet runs counter to the privacy of the consumer. Often, there are legitimate reasons for a party to remain anonymous towards peers and outsiders.

As the collection and exploitation of private information become more of a concern, users are less willing to give out information, and may want to conduct transactions under a pseudonym or anonymously. A user in such a pseudonymous or anonymous transaction may want a receipt of the transaction (e.g., receipt of a payment), which can be used at a later point in time. For example, the user may receive a receipt for a payment giving him access to certain information on the World Wide Web and the Internet, and may want to use that receipt at (a) later point(s) in time to get the information or to prove that a particular transaction took place, e.g., that the user made a payment. In a pseudonymous or anonymous system, where the user is making the transaction anonymously or under a pseudonym P, a ‘classical’ digital receipt (e.g., a digital signature) would prove the pseudonym's P involvement in the transaction. However, such a receipt may be intercepted and used by anyone claiming to be the pseudonym P. Also, the user acting under pseudonym P may give the receipt away to his friends, enabling those friends to access the same information.

There is a call for a method where a user in a pseudonymous or anonymous system is able to prove to be the legitimate owner of a transaction receipt, without revealing his/her real identity. In the course of this the user should be prevented from giving away his receipts to other parties, e.g., to his/her friends.

SUMMARY

In accordance with the present invention, there is provided a method for generating an electronic receipt in a communication system providing a public key infrastructure, the method comprising the steps of receiving by a second party a request message from a first party, the request message comprising a transaction request and a first public key based on a secret owned by the first party and wherein the secret is associated with at least the secret of a further public key of the first party, electronically signing at least part of the request message with the public key assigned to the second party to issue the electronic receipt, and providing the electronic receipt to the first party. In general, the signing with the second public key can be understood as a signing with the secret associated with the second public key.

Further, there is provided a method for verifying the ownership of an electronic receipt in a communication system providing a public key infrastructure, the verification arising out of a series of messages being sent and received between a first party and a verifying party, the method comprising the steps of receiving a proof message from the first party, the proof message being derived from at least a first public key based on a secret owned by the first party and wherein the secret is associated with at least the secret of a further public key of the first party and an electronic receipt that has been issued by electronically signing at least part of a request message with a second public key, determining or examining whether or not the proof message was derived from the second public key.

In general, the signing with the public key can be understood as a signing with the secret associated with said public key. The secret is usually called secret key.

By applying the above methods a high level of security can be achieved. These assure that the secret key of the first public key is linked to the secret key(s) of the first party, also referred to as user. The linkage is such that the knowledge of one secret key will allow to learn at least some of the other secret keys. If some of these secret keys are valuable to the user, the linking discourages the user to give away his/her electronic receipt, e.g., to a friend. For instance, the secret key of the user could be bound or linked to a secret that gives access to a bank account. Also possible is that all secrets within the system are linked together. Then, for example, one friend has the possibility to completely impersonate the user. This is like to use someone's purse with all content, e.g., identity, credit cards, driving license, house keys etc.

Further advantages of the above methods are: in a pseudonymous or anonymous transaction-based system, it is possible to remain anonymous/pseudonymous when showing electronic receipts, while securely proving ownership of the respective receipt. In addition, the receipts are non-transferable, i.e., the receipts are constructed in such a way that if the user wants to give away the receipt, he/she has to give away the secret which underlies all his/her pseudonymous transactions, and thus allows to impersonate him/her.

Another advantage is that the methods for generating a receipt and for verifying the ownership of the receipt can be implemented in existing communication networks providing a public key infrastructure, such as the Internet.

The methods are particularly useful in the case the receipt actually represents a license (e.g., a software license). By applying the methods it is almost impossible for the legitimate owner of the license, i.e., the user who received the license, to give away the license. From this point of view, the copyright and its application can be supported by the present invention.

The methods in accordance with the present invention can be used in a communication system providing a public key infrastructure. That is a system of public key encryption and signature schemes using digital certificates from certificate authorities and other registration authorities that verify and authenticate the validity of each party involved in an electronic transaction. The certificate authority, also called “Trusted Third Party”, is an entity, typically a company, that issues digital certificates to other entities like organizations or individuals to allow them to prove their identity to others and to securely communicate. The certificate authority might be an external company that offers digital certificate services or it might be an internal organization such as a corporate MIS (Management Information System) department. The Certificate Authority's chief function is to verify the identity of entities and issue digital certificates attesting to that identity.

In comparison, in a public key encryption scheme, each person gets a pair of keys, called the public key and the private key. Each person's public key is published while the private key is kept secret. Messages are encrypted using the intended recipient's public key and can only be decrypted using his private key. This mechanism can also be used for or in conjunction with a digital signature.

The digital signature is formed by extra data appended to a message which identifies and authenticates the sender and message data using public-key encryption. The sender uses a one-way hash function to generate a hash-code of, for example, 160 bits from the message data. He then signs the hash-code with his private key. The receiver computes the hash-code from the data as well and verifies the received hash with the sender's public key.

The need for sender and receiver to share secret information, e.g., keys, via some secure channel is eliminated, since all communications involve only public keys, and no private key is ever transmitted or shared. Public-key schemes can be used for authentication, confidentiality, integrity and non-repudiation. RSA is an example of a public-key cryptography system.

The one-way hash function, also called “message digest function”, used for the digital signature is a function which takes a variable-length message and produces a fixed-length hash. Given the hash it is computationally impossible to find a message with that hash. In fact, one cannot determine any usable information about a message with that hash, not even a single bit. For some one-way hash functions it is also computationally impossible to determine two messages which produce the same hash. A one-way hash function can be private or public, just like an encryption function. A public one-way hash function can be used to speed up a public-key digital signature system. Rather than signing a long message which can take a long time, the one-way hash of the message is computed, and the hash is digitally signed.

The methods in accordance with the present invention can be applied within a pseudonym system such as, for example, described by A. Lysanskaya et al. In H. Heys and C. Adams. Editors, Selected Areas in Cryptography, vol. 1758 of LNCS, Springer Verlag, 1999. For example, a party or server issuing the receipt is an organization, e.g., a certification authority, in the pseudonym system, and the user is one user in the pseudonym system. Issuing the receipt is achieved by issuing a ‘receipt’ credential to the user. The properties of the pseudonym system assure that the following advantages can be realized. Showing the receipt is realized by anonymous proof of ownership of the ‘receipt’ credential. Showing the receipt can even be made unlinkable to the original transaction, if no data are encoded in the receipt which make different showings linkable. The receipts distinguish oneself with non-transferability. If the user wants to transfer the receipt (e.g., to a friend), the user has to give away his/her secret key underlying all of his/her pseudonyms in the pseudonym system, and thus the friend has the power to impersonate him/her.

In the dependent claims various modifications and improvements of the methods are contained.

DESCRIPTION OF THE DRAWINGS

Preferred embodiments of the invention are described in detail below, by way of example only, with reference to the following schematic drawings.

FIG. 1 shows a schematic illustration of possible involved parties connected via a network.

FIG. 2 shows a schematic illustration of a generation of an electronic receipt with a user and a second party.

FIG. 2.1 shows message exchanges between the user and the second party comprising a fourth cryptographic proof.

FIG. 2.2 shows further message exchanges between the user and the second party comprising a fifth cryptographic proof.

FIG. 3 shows a schematic illustration of a verification of the ownership of an electronic receipt according to the present invention.

FIG. 3.1 shows message exchanges between the user and a verifying party comprising a second cryptographic proof.

FIG. 3.2 shows further message exchanges between the user and the verifying party comprising a first cryptographic proof.

FIG. 3.3 shows further message exchanges between the user and the verifying party comprising a third cryptographic proof concerning the receipt and the encryption.

FIG. 4 shows a schematic illustration of the generation of an electronic receipt with a certificate authority.

The drawings are provided for illustrative purpose only and do not necessarily represent practical examples of the present invention to scale.

DETAILED DESCRIPTION

With reference to FIG. 1, the general layout of a communication environment is described in which the invention can be used. In the figures, same reference numerals or letters are used to denote the same or like parts. A first party, also referred to as requester or user U, indicated in box 1, is able to communicate with a second party A, indicated in the dotted box 2, a second party A, also referred to as first verifying party A that is indicated in box 3, and a second verifying party B, indicated in box 4, over a network 5 via communication connections 8 as known in the art. In the scenario, the second party A is a certificate authority while the second party A indicates a software company distributing their products and giving licenses for it. The second party A can be called issuer and is hereafter called certificate party A. The second verifying party B can be called verifier and is implemented as a validation server for checking, for example, such a license. The second party A, indicated in box 3, can have either the function of a verifier or the function of an issuer. It is understood that the second party A and the second verifying party B can belong to the same business entity or can even be implemented on the same computer system.

As indicated in box 1, the user U has a first public key P_(U) and a further public key P_(U) . The first public key P_(U) bases on a secret S_(U) that is associated with or linked to the secret S_(U) or S_(UE) of the further public key P_(U) r P_(UE) (not shown). This further public key P_(U) r P_(UE), also referred to as external public key P_(UE), can be one public key used in connection with a bank, for example. As indicated in box 2, the certificate party A has a second public key P_(A) . The second party A, as indicated in box 3, has a second public key P_(A).

The general layout of the communication environment is shown to facilitate the description of the following figures. Within the following FIGS. 2 to 4, the exchange of messages and in particular their relevant content is indicated above or below the respective arrows.

Turning now to FIG. 2, in which a schematic illustration shows a generation of an electronic receipt L_(U), hereafter short receipt L_(U), issued by the second party A. It is understood that the word receipt or electronic receipt comprises a credential, a certificate, or a license.

The second party A, as indicated with box 3, receives the request message RM, labeled as RM (TR₂, P_(U)) from the user U. The request message RM comprises a second transaction request TR₂ and the first public key P_(U). The first public key P_(U) bases on the secret S_(U) owned by the first party U. The secret S_(U) is associated, for instance, by an encryption to the secret S_(U) or S_(UE) of a further public key (not shown in FIG. 2) of the first party U. The second party A electronically signs the request message RM with the second public key P_(A). The receipt L_(U) is issued and sent to the first party U, labeled as L_(U)=sig_(PA)(P_(U), . . . ). In other words, after the second party A concludes the transaction, the receipt L_(U) is issued and returned to the user U.

Later when the user U wants to prove to be the legitimate owner of the receipt L_(U), he sends a proof message PM to the second party A, which acts then as the first validation party A, or to the second validation party B, as described with reference to FIG. 3 below. For example, this can be advantageously applied for an update of a product, e.g., a software, or at each or several starts of it for validation or copyright purposes.

Before the validation of the receipt L_(U) is described, further message exchanges are explained. FIG. 2.1 shows message exchanges between the user U and the second party A comprising an encryption E₁ and a fourth cryptographic proof for verifying the encryption. This encryption comprises the secret S_(UE) used in connection with an external party, e.g., a bank. The second party A receives the further public key P_(UE) and a first encryption E₁ of the secret S_(UE) of the further public key P_(UE) under the first public key P_(U), labeled with P_(UE); E₁=enc_(Pu)(S_(UE)). The second party A publishes the first encryption E₁. By doing so, the link between the secret S_(U) of the first public key P_(U) and the secret S_(UE) of the further public key P_(UE) can be guaranteed. Giving away the secret S_(U) would cause that also the secret S_(UE) is given away. By verifying the fourth cryptographic proof, it can be found out whether or not the secret S_(UE) of the further public key P_(UE) is encrypted in the first encryption E₁ under the first public key P_(U). Thus, the above received further public key P_(UE) and the first encryption E₁ can be verified. This is expressed with

PROVE_(4th)(S_(UE): − E₁ = enc_(Pu)(S_(UE)) − P_(UE) = f(S_(UE))).

The expression P_(UE)=f(S_(UE)) symbolizes that the public key P_(UE) is derived as a function f of the secret key S_(UE). The function f is a general one and can be chosen ad libitum.

In general, cryptographic proofs are known in the art and are described, for example, by Jan Camenisch and Ivan Damgard in their article “Verifiable encryption, group encryption, and their applications to separable group signatures and signature sharing schemes” T. Okamoto, editor. Advances in Cryptology—ASIACRYPT '2000, number 1976 in Lecture Notes in Computer Science, Kyoto, Japan, 2000. International Association for Cryptologic Research, Springer-Verlag, Berlin Germany, pages 331-345.

FIG. 2.2 shows further message exchanges between the user U and the second party A comprising a fifth cryptographic proof for verifying the internal encryption and a receipt L_(U) . It is assumed that the receipt L_(U) has been issued from the certificate party A and the user U has obtained the receipt L_(U) , as described with reference to FIG. 4. With internal encryption is meant the encryption in view of the secret S_(U) used in connection with the certificate party A. The second party A receives a second encryption E₂ of the secret S_(U) of the further public key P_(U) under the first public key P_(U) from the user U. This is labeled with E₂=enc_(Pu)(S_(U) ). The second party A publishes the second encryption E₂. By doing so, the link between the first public key P_(U) and the secret S_(U) can be guaranteed. By verifying a fifth cryptographic proof of the existence of a first, second, and third value P_(U) , S_(U) , L_(U) , such that the first value P_(U) is a public key derived from the second value S_(U) and the third value L_(U) is a signature with respect to the second public key P_(A) on at least the first value P_(U) and the second encryption E₂ is the encryption of the second value S_(U) under the first public key P_(U), the received second encryption E₂ and the receipt L_(U) can be verified. This is expressed with

${PROVE}_{5{th}}\left( {{\underset{\_}{P}}_{\underset{\_}{U}},{\underset{\_}{S}}_{\underset{\_}{U}},{{{{\underset{\_}{L}}_{\underset{\_}{U}}\text{:}} - {\underset{\_}{P}}_{\underset{\_}{U}}} = {\left. \quad{{{f\left( S_{U} \right)} - E_{2}} = {{{{enc}_{Pu}\left( {\underset{\_}{S}}_{\underset{\_}{U}} \right)} - {\underset{\_}{L}}_{\underset{\_}{U}}} = {{sig}_{\underset{\_}{PA}}\left( {{\underset{\_}{P}}_{\underset{\_}{U}},\ldots} \right)}}} \right).}}} \right.$

FIG. 3 shows a schematic illustration of a verification of the ownership of an electronic receipt. In detail, the ownership of the receipt L_(U), that has been issued by the second party A, is verified. The second validation party B, indicated with box 4, receives a proof message PM from the user U, indicated with box 1. The proof message PM is derived from the first public key P_(U) that bases on the secret S_(U) owned by the user U. As described above, the secret S_(U) is associated, for example, by the encryption to the secret S_(U) or S_(UE) of the further public key P_(U) or P_(UE) of the user U. The proof message PM is further derived from the receipt L_(U) that has been issued by electronically signing the request message RM with the second public key P_(A). The content of the proof message PM is examined whether or not it was derived with respect to the second public key P_(A).

FIG. 3.1 shows message exchanges between the user U and the second verifying party B comprising a second cryptographic proof for verifying the receipt L_(U). By verifying the second cryptographic proof of the existence of a first, second, and third value P_(U), S_(U), L_(U), such that the first value P_(U) is a public key derived from the second value S_(U) and the third value L_(U) is a signature with respect to the second public key P_(A) on at least the first value P_(U), the received first public key P_(U) and the receipt L_(U) can be verified. This is expressed with

PROVE_(2 nd)(P_(U), S_(U), L_(U): − P_(U) = f(S_(U)) − L_(U) = sig_(PA)(P_(U), … )).

FIG. 3.2 shows further message exchanges between the user U and the second verifying party B comprising a first cryptographic proof for verifying the external encryption. The second verifying party B receives the further public key P_(UE) and the first encryption E₁ of the secret S_(UE) of the further public key P_(UE) under the first public key P_(U). The second verifying party B publishes the first encryption E₁. By doing so, the link between the secret of the first public key P_(U) and the secret S_(UE) of the further public key P_(UE) can be guaranteed. By verifying the first cryptographic proof that the secret S_(UE) of the further public key P_(UE) is encrypted in the first encryption E₁ under the first public key P_(U), the above received further public key P_(UE) and the first encryption E₁ can be verified. This is expressed with

PROVE_(1 st)(S_(UE): − E₁ = enc_(Pu)(S_(UE)) − P_(U) = f(S_(U)) − L_(U) = sig_(PA)(P_(U), …  )).

FIG. 3.3 shows further message exchanges between the user U and the second verifying party B comprising a third cryptographic proof for verifying the receipts L_(U) and L_(U) and the internal encryption. The second verifying party B receives the second encryption E₂ of the secret S_(U) of the further public key P_(U) under the first public key P_(U) from the user U. This is indicated with E₂=enc_(Pu)(S_(U) ). The second verifying party B publishes the second encryption E₂. By doing so, the link between the secret S_(U) of the first public key P_(U) and the secret S_(U) can be guaranteed. By verifying the third cryptographic proof of the existence of values P_(U), S_(U), L_(U), P_(U) , S_(U) , L_(U) such that the first value P_(U) is a first public key derived from the second value S_(U) and the third value L_(U) is a signature with respect to the second public key P_(A) on at least the first value (P_(U)), and the fourth value P_(U) is the public key derived from the fifth value S_(U) and the sixth value L_(U) is a signature with respect to the third public key P_(A) on at least the fourth value P_(U) and the second encryption E₂ is the encryption of the second value S_(U) under the fourth value P_(U) , the received second encryption E₂ and the receipts L_(U) and L_(U) can be verified. This is expressed with

${{PROVE}_{3\;{nd}}\left( {P_{U}, S_{U}, L_{U},{\underset{\_}{P}}_{\underset{\_}{U}},{\underset{\_}{S}}_{\underset{\_}{U}},{{{{\underset{\_}{L}}_{\underset{\_}{U}}\text{:}} - P_{U}} = {{{f\left( S_{U} \right)} - {\underset{\_}{P}}_{\underset{\_}{U}}} = {{{f\left( {\underset{\_}{S}}_{\underset{\_}{U}} \right)} - L_{U}} = {{{{sig}_{PA}\left( {P_{U},\ldots} \right)} - {\underset{\_}{E}}_{\underset{\_}{2}}} = {{{{enc}_{Pu}\left( {\underset{\_}{S}}_{\underset{\_}{U}} \right)} - {\underset{\_}{L}}_{\underset{\_}{U}}} = {{sig}_{\underset{\_}{PA}}\left( {{\underset{\_}{P}}_{\underset{\_}{U}},\ldots} \right)}}}}}}} \right)}.$

Turning now to FIG. 4, in which a schematic illustration shows the generation of the receipt L_(U), issued by the certificate party A. This receipt generation should be performed before the generation of the receipt L_(U) by the second party A and can be seen as a pre-installment. The certificate party A, as indicated with box 2, receives a request message RM, labeled as RM (TR₁, P_(U)) from the user U. The request message RM comprises a first transaction request TR₁, and the first public key P_(U). The first public key P_(U) bases on the secret S_(U) owned by the first party U. The secret S_(U) is associated with another secret of a further public key of the first party U. The second party A electronically signs the request message RM with the second public key P_(A) that is assigned to the second party A. The latter step can be omitted. The receipt L_(U) is issued and sent to the first party U, labeled as L_(U)=sig_(Pa)(P_(U), . . . ).

In general, the transaction requests TR₁ and TR₂ can be any kind of business commonly referred to as electronic commerce. Whereby, electronic commerce summarizes conducting of business communication and transactions over networks and through computers. As most restrictively defined, electronic commerce is the buying and selling of goods and services, and the transfer of finds, through digital communications. However electronic commerce also includes all intercompany and intra-company functions, such as marketing, finance, manufacturing, selling, and negotiation, that enable commerce and use electronic mail, file transfer, fax, video conferencing, workflow, or interaction with a remote computer. Electronic commerce also includes buying and selling over the World Wide Web and the Internet, electronic funds transfer, smart cards, digital cash, and all other ways of doing business over digital networks.

Any disclosed embodiment may be combined with one or several of the other embodiments shown and/or described. This is also possible for one or more features of the embodiments.

The present invention can be realized in hardware, software, or a combination of hardware and software. Any kind of computer system—or other apparatus adapted for carrying out the method described herein—is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods.

Computer program means or computer program in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following a) conversion to another language, code or notation; b) reproduction in a different material form. 

1. A computer-implemented method for generating an electronic receipt in a communication system providing a public key infrastructure, the step of generating an electronic receipt comprising the following steps: receiving by a second party (A) a request message (RM) from a first party (U), the request message (RM) comprising a transaction request (TR) and a first public key (P_(U)) based on a secret (S_(U)) owned by the first party (U) and wherein the secret (S_(U)) is associated with at least a secret (S_(UE)) of a further public key (P_(UE)) of the first party (U), electronically signing at least part of the request message (RM) with a public key (P_(A)) assigned to the second party (A) for issuance as an electronic receipt (L_(U)) to the first party U; said method further comprising: receiving, at said second party (A), the further public key (P_(UE)) and a first encryption (E₁) of the secret (S_(UE)) of the further public key (P_(UE)) under the first public key (P_(U)); and publishing, by said second party (A), said first encryption (E₁) to establish a link between the secret (S_(U)) of the first public key (P_(U)) and the secret (S_(UE)) of the further public key (P_(UE)); wherein an electronic receipt (L_(U) ) is issued to said user (U) by a certificate authority (A) having an associated public key (P_(A) ), said method further comprising: receiving, at said second party (A), a second encryption (E₂) of a secret (S_(U) ) of a user's second public key (P_(U) ) under the first public key (P_(U)) from user U; and publishing, by said second party (A), said second encryption (E₂) to establish a link between secret (S_(U)) of the first public key (P_(U)) and the secret S_(U) of the second public key P_(U) , and validating user ownership of said electronic receipt by verifying a cryptographic proof that the P_(U) is a public key derived from the secret (S_(U) ), and the L_(U) is a signature with respect to the associated public key P_(A) on at least the P_(U) and the second encryption (E₂) is the encryption of the secret S_(U) under the first public key P_(U).
 2. The method according to claim 1 further comprising verifying a cryptographic proof whether or not the secret (S_(UE)) of the further public key (P_(UE)) is encrypted in the first encryption (E₁) under the first public key (P_(U)).
 3. A system for generating an electronic receipt (L_(U), L_(U) ) in a communication system providing a public key infrastructure comprising: a memory storage device; a processor device in communication with said memory storage device configured to perform a method to: receive, by a second party (A), a request message (RM) from a first party (U), the request message (RM) comprising a transaction request (TR) and a first public key (P_(U)) based on a secret (S_(U)) owned by the first party (U) and wherein the secret (S_(U)) is associated with at least a secret (S_(UE)) of a further public key (P_(UE)) of the first party (U), electronically sign at least part of the request message (RM) with a public key (P_(A)) assigned to the second party (A) for issuance as an electronic receipt (L_(U)) to the first party U; receive, at said second party (A), the further public key (P_(UE)) and a first encryption (E₁) of the secret (S_(UE)) of the further public key (P_(UE)) under the first public key (P_(U)); and publish, by said second party (A), said first encryption (E₁) to establish a link between the secret (S_(U)) of the first public key (P_(U)) and the secret (S_(UE)) of the further public key (P_(UE)); wherein an electronic receipt (L_(U) ) is issued to said user (U) by a certificate authority (A) having an associated public key (P_(A) ), said processor device further configured to perform a method to: receive, at said second party (A), a second encryption (E₂) of a secret (S_(U) ) of a user' s second public key (P_(U) ) under the first public key (P_(U)) from user U; and publish, by said second party (A), said second encryption (E₂) to establish a link between secret (S_(U)) of the first public key (P_(U)) and the secret S_(U) of the second public key P_(U) , and validate user ownership of said electronic receipt by verifying a cryptographic proof that the P_(U) is a public key derived from the secret (S_(U) ), and the Lu is a signature with respect to the associated public key P_(A) on at least the P_(U) and the second encryption (E₂) is the encryption of the secret S_(U) under the first public key P_(U).
 4. An article of manufacture comprising: a non-transitory computer readable storage medium having computer readable program code tangibly embodied therein to execute at least one machine instruction in a processing unit for causing generation of an electronic receipt, said computer readable program code, when executing, causing a computer to: receive, by a second party (A), a request message (RM) from a first party (U), the request message (RM) comprising a transaction request (TR) and a first public key (P_(U)) based on a secret (S_(U)) owned by the first party (U) and wherein the secret (S_(U)) is associated with at least a secret (S_(UE)) of a further public key (P_(UE)) of the first party (U), electronically sign at least part of the request message (RM) with a public key (P_(A)) assigned to the second party (A) for issuance as an electronic receipt (L_(U)) to the first party U; receive, at said second party (A), the further public key (P_(UE)) and a first encryption (E₁) of the secret (S_(UE)) of the further public key (P_(UE)) under the first public key (P_(U)); and publish, by said second party (A), said first encryption (E₁) to establish a link between the secret (S_(U)) of the first public key (P_(U)) and the secret (S_(UE)) of the further public key (P_(UE)); wherein an electronic receipt (L_(U) ) is issued to said user (U) by a certificate authority (A) having an associated public key (P_(A) ), said processor device further configured to perform a method to: receive, at said second party (A), a second encryption (E₁) of a secret (S_(U) ) of a user' s second public key (P_(U) ) under the first public key (P_(U)) from user U; and publish, by said second party (A), said second encryption (E₁) to establish a link between secret (S_(U)) of the first public key (P_(U)) and the secret S_(U) of the second public key P_(U) , and validate user ownership of said electronic receipt by verifying a cryptographic proof that the P_(U) is a public key derived from the secret (S_(U) ), and the L_(U) is a signature with respect to the associated public key P_(A) on at least the P_(U) and the second encryption (E₂) is the encryption of the secret S_(U) under the first public key P_(U). 